// 对 axios进行二次封装
import axios from "axios";
// 引入加载进度条依赖
import nprogress from "nprogress"
// 引入进度条样式
import "nprogress/nprogress.css"

const request = axios.create({
    // 配置对象
    baseURL: '/api',
    // 请求超时
    timeout: 5000,
});

// 请求拦截器
request.interceptors.request.use((config) => {
    // 配置请求头
    // 进度条开启
    nprogress.start();
    return config;
});

// 相应拦截器
request.interceptors.response.use((res) => {
    // 成功的回调，服务器返回的数据
    // 进度条结束
    nprogress.done();
    return res.data;
}, (error) => {
    // 失败的回调
    return Promise.reject(new Error('false'));
});

// 对外暴露
export default request;